<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>HID Mouse Application</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__ble__sdk__app__hids__mouse.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a>  </div>
  <div class="headertitle">
<div class="title">HID Mouse Application</div>  </div>
<div class="ingroups"><a class="el" href="group__ble__sdk__apps.html">Example Applications</a></div></div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ble__sdk__app__hids__mouse__main.html">main.c</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>HID Mouse Sample Application main file. </p>
<br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>The HID Mouse Application is a firmware example that implements the HID over GATT profile for mouse using the hardware delivered in the nRF51822 Development Kit.</p>
<p>The source code and project file can be found in the <code>&lt;InstallFolder&gt;\Nordic\nrf51822\Board\nrf6310\ble\ble_app_hids_mouse</code> folder.</p>
<p>The application includes the three mandatory services needed for the HID over GATT profile:</p>
<ul>
<li><a class="el" href="group__ble__sdk__srv__hids.html">Human Interface Device Service</a></li>
<li><a class="el" href="group__ble__sdk__srv__dis.html">Device Information Service</a></li>
<li><a class="el" href="group__ble__sdk__srv__bas.html">Battery Service</a></li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>The application will stop advertising after 3 minutes and go to system-off mode. Push one of the buttons 0 to 3 to wake it up and restart advertising.</dd></dl>
<h2><a class="anchor" id="project_hids_mouse_setup"></a>
Setup</h2>
<p>Instructions on how to set up the nRFgo Motherboard: <a class="el" href="group__ble__sdk__apps__setup.html">'Setup'</a>.</p>
<p>LED assignments:</p>
<ul>
<li>LED 0: Advertising</li>
<li>LED 1: Connected</li>
<li>LED 7: Asserted (i.e. an assert check in the application has failed)</li>
</ul>
<p>Buttons assignments:</p>
<ul>
<li>Button 0: Move mouse pointer 5 pixels to the left</li>
<li>Button 1: Move mouse pointer 5 pixels to the right</li>
<li>Button 2: Move mouse pointer 5 pixels upward</li>
<li>Button 3: Move mouse pointer 5 pixels downward</li>
</ul>
<h2><a class="anchor" id="project_hid_mouse_test"></a>
Testing</h2>
<p>The HID Mouse Application can be connected to a Windows 8 PC with a Bluetooth radio. When connected, the application will act as a mouse, enabling the user to move the PC's mouse pointer using four push buttons on the nRFgo board:</p>
<ol type="1">
<li>Compile and program the application. Observe that the Advertising LED is lit.</li>
<li>On the Windows 8 PC, search for Bluetooth devices, and connect to the device named 'NORDIC_MOUSE_0.1'. Observe that the Connected LED is lit, and the Advertising LED is off.</li>
<li>Push Button 0 on the nRFgo board. Observe that the mouse pointer on the Windows 8 PC moves to the left.</li>
<li>Push Button 1. Observe that the mouse pointer on the Windows 8 PC moves to the right.</li>
<li>Push Button 2. Observe that the mouse pointer on the Windows 8 PC moves up.</li>
<li>Push Button 3. Observe that the mouse pointer on the Windows 8 PC moves down.</li>
<li>Disconnect the PC from the device by removing the device from the PC's devices list. Observe that only the Advertising LED is lit.</li>
</ol>
<dl class="note"><dt><b>Note:</b></dt><dd>After having disconnected the Windows 8 PC from the HID Mouse Application, the user will have to remove the 'NORDIC_MOUSE_0.1' device from the PC's devices list to be able to reconnect to the HID Mouse Application. The reason for this is that currently the application does not use the <a class="el" href="group__ble__sdk__lib__bond__manager.html">Bonds and Persistent Data Manager</a>, and so it does not remember previous bonds.</dd></dl>
<p>The HID Mouse Application can also be tested using the Master Control Panel as follows:</p>
<ol type="1">
<li>Compile and program the application. Observe that the Advertising LED is lit.</li>
<li>Connect to the device from Master Control Panel (the device will be advertising as 'NORDIC_MOUSE_0.1'), then bond and perform service discovery. Observe that the Connected LED is lit, and the Advertising LED is off.</li>
<li>Click the 'Enable services' button on Master Control Panel, and observe that Battery Level notifications are being received every two seconds.</li>
<li>Push Button 0 on the nRFgo board. Observe that a notification on one of the HID Report characteristics is received, containing the value 'FB0F00'.</li>
<li>Push Button 1. Observe that a notification on the same HID Report characteristic is received, containing the value '050000'.</li>
<li>Push Button 2. Observe that a notification on the same HID Report characteristic is received, containing the value '00B0FF'.</li>
<li>Push Button 3. Observe that a notification on the same HID Report characteristic is received, containing the value '005000'.</li>
</ol>
<dl class="note"><dt><b>Note:</b></dt><dd>As the bond manager is not used for the HID Mouse Application, it is not possible to disconnect and reconnect to the mouse application from the Master Control Panel. To reconnect the master to the HID Mouse Application, a new bonding must be performed. </dd></dl>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
